package com.vrp3d.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vrp3d.domain.dto.dist.DistForFrontDTO;
import com.vrp3d.domain.dto.news.*;

import java.util.List;

/**
 * 新闻
 *
 * @author vrp3d
 */
public interface NewsService extends AbsService {

    /**
     * 获取新闻分类信息
     *
     * @return
     */
    List<DistForFrontDTO> getTypeList();

    /**
     * 获取新闻列表
     *
     * @param page
     * @param search
     * @return
     */
    Page<NewsListDTO> getNewsList(Page<NewsListDTO> page, NewsSearchDTO search);

    /**
     * 判断新闻标题是否可用(新增时)
     *
     * @param title
     */
    void whetherNewsHeadlinesAreAvailable(String title);

    /**
     * 新增新闻
     *
     * @param dto
     */
    void insertNews(NewsInsertDTO dto);

    /**
     * 判断新闻标题是否可用_修改时
     *
     * @param id
     * @param title
     */
    void whetherNewsHeadlinesAreAvailableWhenUpdate(Integer id, String title);

    /**
     * 修改新闻
     *
     * @param dto
     */
    void updateNews(NewsUpdateDTO dto);

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    NewsDTO selectById(Integer id);

    /**
     * 删除新闻
     *
     * @param id
     */
    void deleteNewsByIds(Integer id);
}
